package com.ebring.shareEducation.service;

import com.ebring.shareEducation.bean.OrderSheet;
import com.ebring.shareEducation.bean.Taskrelease;
import com.ebring.shareEducation.bean.response.ReleaseUser;
import com.ebring.shareEducation.utils.RspMsg;


public interface TaskreleaseService {
    /**
     * 查找所有任务
     */
    RspMsg<ReleaseUser> selectTaskrelease(String phone,String auditStates);

    /**
     * 根据任务id修改菜单
     */
    RspMsg<Taskrelease> updateTaskrelease(Taskrelease task);

    /**
     * 自增修改人数
     */
    RspMsg<Taskrelease> updateNumber(Taskrelease task);

    /**
     * 通过ID删除任务
     */
    RspMsg<Taskrelease> deleteById(String taskId);

    /**
     * 新增任务
     */
    RspMsg<Taskrelease> insertTaskrelease(Taskrelease taskrelease);


    /**
     * 根据条件查询任务
     */

    RspMsg<Taskrelease> selectUTaskrelease(Taskrelease taskrelease);


    /**
     * 根据任务id查询任务详情
     */

    RspMsg<Taskrelease> selectDetails(Taskrelease taskrelease);

    /**
     * 根据任务id查询任务详情
     */

    RspMsg<Taskrelease> auditTaskRelease(String taskReleaseId, String auditStates);
    /**
     * 根据任务状态查询
     */
    RspMsg<Taskrelease> selectByStates(String taskStates);

    /**
     * 支付金币
     */
    RspMsg<Taskrelease> payGold(String userId, String taskReleaseId, String payPassword);

    /**
     *根据用户id查询订单详情
     */
    RspMsg<OrderSheet> orderDetails(String userId);

    /**
     *  手机查看任务详情
     */
    RspMsg<Taskrelease> selectDetailss(Taskrelease taskrelease);


    /**
     * 任务抢单
     * @param taskReleaseId   单号
     * @return
     */
    RspMsg<Taskrelease>  Robbing (String taskReleaseId ,String userId);

    /**
     * 手机端任务列表
     * @param
     * @return
     */
    RspMsg<Taskrelease> selectTaskRelease();
    RspMsg<Taskrelease> selectTaskReleaseIndex(int i);

    /**
     * 查询用户发布的所有任务
     * @param
     * @return
     */
    RspMsg<Taskrelease> selectUserTaskRelease(Taskrelease taskrelease);

    /**
     * 手机端根据任务单号查看任务详情，任务接单人
     *
     * @param
     * @return
     */
    RspMsg<Taskrelease> selectByTaskIdTaskRelease(Taskrelease taskrelease);

    Taskrelease selectTaskByTaskId(String userId);
    /**
     * 根据任务id查询任务
     * @param taskrelease
     * @return
     */
    RspMsg<Taskrelease> selectTaskIdTaskRelease(Taskrelease taskrelease);


    /**
     * 查询用户接受的所有任务
     * @param
     * @return
     */
    RspMsg<Taskrelease> selectUserTaskOrder(Taskrelease Taskrelease);


    RspMsg<Taskrelease> updateTaskreleaseorders(Taskrelease taskrelease);


    RspMsg<Taskrelease> updateTaskreleasecode(Taskrelease taskrelease);

    RspMsg<Taskrelease> selectTaskreleases(Taskrelease taskrelease);



}
